home *** CD-ROM | disk | FTP | other *** search
- /*
- * Copyright (C) 1992, 1993, 1994, Silicon Graphics, Inc.
- * All Rights Reserved.
- *
- * This is UNPUBLISHED PROPRIETARY SOURCE CODE of Silicon Graphics, Inc.;
- * the contents of this file may not be disclosed to third parties, copied or
- * duplicated in any form, in whole or in part, without the prior written
- * permission of Silicon Graphics, Inc.
- *
- * RESTRICTED RIGHTS LEGEND:
- * Use, duplication or disclosure by the Government is subject to restrictions
- * as set forth in subdivision (c)(1)(ii) of the Rights in Technical Data
- * and Computer Software clause at DFARS 252.227-7013, and/or in similar or
- * successor clauses in the FAR, DOD or NASA FAR Supplement. Unpublished -
- * rights reserved under the Copyright Laws of the United States.
- */
- #include "bitmap.h"
- #include "image.h"
-
- /* object types */
-
- #define OBJ_POINTS 1
- #define OBJ_LINE 2
- #define OBJ_LOOP 3
- #define OBJ_POLYGON 4
-
- #define OBJ_BEGINOBJ 4
- #define OBJ_ENDOBJ 5
- #define OBJ_CALLOBJ 6
-
- #define OBJ_PUSHMATRIX 7
- #define OBJ_POPMATRIX 8
- #define OBJ_ROTATE 9
- #define OBJ_TRANSLATE 10
- #define OBJ_SCALE 11
-
- /* point types */
-
- #define PNT_SQUARE 1
- #define PNT_ROUND 2
-
- typedef struct attribs {
- float r, g, b;
- float nx, ny, nz;
- } attribs;
-
- typedef struct point {
- struct point *next;
- int type;
- attribs *attr;
- float x, y, z;
- } point;
-
- typedef struct object {
- struct object *next;
- int type;
- attribs *attr;
- point *points;
- } object;
-
- /* vert object stuff */
-
- #define VERTMAGIC 0x5423
-
- typedef struct vert {
- int r, g, b;
- float x, y, z;
- float nx, ny, nz;
- } vert;
-
- #ifdef NOTDEF
- typedef struct mesh {
- int xsize, ysize;
- int xwrap, ywrap;
- vert *verts;
- } mesh;
- #endif
-
- /* fast object stuff */
-
- #define FASTMAGIC 0x5423
-
- typedef struct fastobj {
- int npoints;
- int colors;
- int *data;
- } fastobj;
-
- fastobj *readfastobj();
-
- #define MAXIWIDTH 4096 /* max image size for printing */
-
- object *newobj();
- object *cloneobj();
- point *newpnt();
- point *clonepnt();
- attribs *newattr();
- attribs *cloneattr();
- point *findpoint();
- object *objfromfile();
- object *getobj();
- object *readobj();
- object *twixtobj();
- float getfloat();
- FILE *openipc();
- char *basename();
- float getparam();
- Bitmap *getbm();
- Font *getfnt();
- FILE *gfxopen();
-